home *** CD-ROM | disk | FTP | other *** search
- package symantec.itools.db.net;
-
- import java.io.DataInputStream;
- import java.io.DataOutputStream;
- import java.io.IOException;
- import java.util.Vector;
- import symjava.sql.SQLException;
-
- class NetError extends ServerObject {
- int _severity;
- int _errorID;
- int _type;
- Vector _errorStr;
- String _leader;
-
- NetError(byte severity, int errorID, String s1, String s2, String s3, String leader) {
- this._severity = severity;
- this._errorID = errorID;
- this._errorStr = new Vector();
- this._errorStr.addElement(new NetString(s1));
- this._errorStr.addElement(new NetString(s2));
- this._errorStr.addElement(new NetString(s3));
- this._leader = leader;
- }
-
- int getSeverity() {
- return this._severity;
- }
-
- int getID() {
- return this._errorID;
- }
-
- String getErrorString(int errorLevel) {
- if (errorLevel > this._errorStr.size()) {
- return new String("");
- } else {
- NetString s = (NetString)this._errorStr.elementAt(errorLevel);
- return new String(s.getString());
- }
- }
-
- SQLException toSQLException() {
- return (SQLException)(this._type == 8 ? new SQLConnectionException(this.getErrorString(0), this.getErrorString(1), this.getID()) : new SQLException(this.getErrorString(0), this.getErrorString(1), this.getID()));
- }
-
- NetError() {
- }
-
- int getType() {
- return 49;
- }
-
- void read(DataInputStream in) throws SQLException, IOException, ErrorException {
- in.readShort();
- byte[] leader = new byte[4];
- in.readFully(leader, 0, 4);
- this._leader = new String(leader, 0);
- this._severity = in.readByte();
- this._errorID = in.readInt();
- this._type = in.readInt();
- this._errorStr = new Vector();
-
- for(int i = 0; i < 3; ++i) {
- ServerObject obj = (ServerObject)NetClass.getNextObject(in);
- if (obj.getType() == 52) {
- this._errorStr.addElement(obj);
- } else {
- ((ServerObject)this).onObjectError(obj);
- }
- }
-
- }
-
- void write(DataOutputStream out) throws IOException {
- out.writeByte(this.getType());
- out.writeShort(9);
- out.writeBytes(this._leader);
- out.writeByte(this._severity);
- out.writeInt(this._errorID);
-
- for(int i = 0; i < 3; ++i) {
- NetString s = (NetString)this._errorStr.elementAt(i);
- s.write(out);
- }
-
- }
- }
-